// 修复世涛黑啤价格的脚本
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();

async function fixShitaoPrices() {
  try {
    console.log('开始修复世涛黑啤的价格...');
    
    // 1. 查找世涛黑啤
    const shitaoProduct = await prisma.product.findFirst({
      where: {
        name: '世涛黑啤'
      }
    });
    
    if (!shitaoProduct) {
      console.log('未找到世涛黑啤，请检查商品名称');
      return;
    }
    
    console.log(`找到世涛黑啤，ID=${shitaoProduct.id}`);
    
    // 2. 查找所有渠道
    const channels = await prisma.channel.findMany({
      where: {
        status: true
      }
    });
    
    console.log(`找到 ${channels.length} 个渠道`);
    
    // 3. 设置世涛黑啤在所有渠道的价格为1元
    for (const channel of channels) {
      // 检查是否已存在价格记录
      const existingPrice = await prisma.productPrice.findUnique({
        where: {
          productId_channelId: {
            productId: shitaoProduct.id,
            channelId: channel.id
          }
        }
      });
      
      if (existingPrice) {
        // 更新现有价格记录
        await prisma.productPrice.update({
          where: {
            productId_channelId: {
              productId: shitaoProduct.id,
              channelId: channel.id
            }
          },
          data: {
            price: 1,
            discount: 1
          }
        });
        console.log(`已更新世涛黑啤在渠道 ${channel.name} (ID=${channel.id}) 的价格为1元`);
      } else {
        // 创建新的价格记录
        await prisma.productPrice.create({
          data: {
            productId: shitaoProduct.id,
            channelId: channel.id,
            price: 1,
            discount: 1
          }
        });
        console.log(`已创建世涛黑啤在渠道 ${channel.name} (ID=${channel.id}) 的价格为1元`);
      }
    }
    
    // 4. 验证价格设置
    const updatedPrices = await prisma.productPrice.findMany({
      where: {
        productId: shitaoProduct.id
      }
    });
    
    console.log('世涛黑啤的最新价格设置:');
    for (const price of updatedPrices) {
      const channel = await prisma.channel.findUnique({
        where: { id: price.channelId }
      });
      
      console.log(`- 渠道: ${channel?.name || '未知'} (ID=${price.channelId}), 价格: ${price.price}`);
    }
    
    console.log('世涛黑啤价格修复完成');
  } catch (error) {
    console.error('修复世涛黑啤价格出错:', error);
  } finally {
    await prisma.$disconnect();
  }
}

// 执行修复
fixShitaoPrices();
